let score (input : double list) =
    let func0 =
        exp (-0.06389634699048878 * ((5.1 - input.[0]) ** 2.0 + (2.5 - input.[1]) ** 2.0 + (3.0 - input.[2]) ** 2.0 + (1.1 - input.[3]) ** 2.0))
    let func1 =
        exp (-0.06389634699048878 * ((4.9 - input.[0]) ** 2.0 + (2.4 - input.[1]) ** 2.0 + (3.3 - input.[2]) ** 2.0 + (1.0 - input.[3]) ** 2.0))
    let func2 =
        exp (-0.06389634699048878 * ((6.3 - input.[0]) ** 2.0 + (2.5 - input.[1]) ** 2.0 + (4.9 - input.[2]) ** 2.0 + (1.5 - input.[3]) ** 2.0))
    let func3 =
        exp (-0.06389634699048878 * ((5.4 - input.[0]) ** 2.0 + (3.0 - input.[1]) ** 2.0 + (4.5 - input.[2]) ** 2.0 + (1.5 - input.[3]) ** 2.0))
    let func4 =
        exp (-0.06389634699048878 * ((6.2 - input.[0]) ** 2.0 + (2.2 - input.[1]) ** 2.0 + (4.5 - input.[2]) ** 2.0 + (1.5 - input.[3]) ** 2.0))
    let func5 =
        exp (-0.06389634699048878 * ((5.6 - input.[0]) ** 2.0 + (2.9 - input.[1]) ** 2.0 + (3.6 - input.[2]) ** 2.0 + (1.3 - input.[3]) ** 2.0))
    let func6 =
        exp (-0.06389634699048878 * ((6.7 - input.[0]) ** 2.0 + (3.0 - input.[1]) ** 2.0 + (5.0 - input.[2]) ** 2.0 + (1.7 - input.[3]) ** 2.0))
    let func7 =
        exp (-0.06389634699048878 * ((5.0 - input.[0]) ** 2.0 + (2.3 - input.[1]) ** 2.0 + (3.3 - input.[2]) ** 2.0 + (1.0 - input.[3]) ** 2.0))
    let func8 =
        exp (-0.06389634699048878 * ((6.0 - input.[0]) ** 2.0 + (2.7 - input.[1]) ** 2.0 + (5.1 - input.[2]) ** 2.0 + (1.6 - input.[3]) ** 2.0))
    let func9 =
        exp (-0.06389634699048878 * ((5.9 - input.[0]) ** 2.0 + (3.2 - input.[1]) ** 2.0 + (4.8 - input.[2]) ** 2.0 + (1.8 - input.[3]) ** 2.0))
    let func10 =
        exp (-0.06389634699048878 * ((5.7 - input.[0]) ** 2.0 + (2.6 - input.[1]) ** 2.0 + (3.5 - input.[2]) ** 2.0 + (1.0 - input.[3]) ** 2.0))
    let func11 =
        exp (-0.06389634699048878 * ((5.0 - input.[0]) ** 2.0 + (3.0 - input.[1]) ** 2.0 + (1.6 - input.[2]) ** 2.0 + (0.2 - input.[3]) ** 2.0))
    let func12 =
        exp (-0.06389634699048878 * ((5.4 - input.[0]) ** 2.0 + (3.4 - input.[1]) ** 2.0 + (1.7 - input.[2]) ** 2.0 + (0.2 - input.[3]) ** 2.0))
    let func13 =
        exp (-0.06389634699048878 * ((5.7 - input.[0]) ** 2.0 + (3.8 - input.[1]) ** 2.0 + (1.7 - input.[2]) ** 2.0 + (0.3 - input.[3]) ** 2.0))
    let func14 =
        exp (-0.06389634699048878 * ((4.8 - input.[0]) ** 2.0 + (3.4 - input.[1]) ** 2.0 + (1.9 - input.[2]) ** 2.0 + (0.2 - input.[3]) ** 2.0))
    let func15 =
        exp (-0.06389634699048878 * ((4.5 - input.[0]) ** 2.0 + (2.3 - input.[1]) ** 2.0 + (1.3 - input.[2]) ** 2.0 + (0.3 - input.[3]) ** 2.0))
    let func16 =
        exp (-0.06389634699048878 * ((5.7 - input.[0]) ** 2.0 + (4.4 - input.[1]) ** 2.0 + (1.5 - input.[2]) ** 2.0 + (0.4 - input.[3]) ** 2.0))
    let func17 =
        exp (-0.06389634699048878 * ((5.1 - input.[0]) ** 2.0 + (3.8 - input.[1]) ** 2.0 + (1.9 - input.[2]) ** 2.0 + (0.4 - input.[3]) ** 2.0))
    let func18 =
        exp (-0.06389634699048878 * ((5.1 - input.[0]) ** 2.0 + (3.3 - input.[1]) ** 2.0 + (1.7 - input.[2]) ** 2.0 + (0.5 - input.[3]) ** 2.0))
    let func19 =
        exp (-0.06389634699048878 * ((6.2 - input.[0]) ** 2.0 + (2.8 - input.[1]) ** 2.0 + (4.8 - input.[2]) ** 2.0 + (1.8 - input.[3]) ** 2.0))
    let func20 =
        exp (-0.06389634699048878 * ((7.2 - input.[0]) ** 2.0 + (3.0 - input.[1]) ** 2.0 + (5.8 - input.[2]) ** 2.0 + (1.6 - input.[3]) ** 2.0))
    let func21 =
        exp (-0.06389634699048878 * ((6.1 - input.[0]) ** 2.0 + (3.0 - input.[1]) ** 2.0 + (4.9 - input.[2]) ** 2.0 + (1.8 - input.[3]) ** 2.0))
    let func22 =
        exp (-0.06389634699048878 * ((6.0 - input.[0]) ** 2.0 + (3.0 - input.[1]) ** 2.0 + (4.8 - input.[2]) ** 2.0 + (1.8 - input.[3]) ** 2.0))
    let func23 =
        exp (-0.06389634699048878 * ((4.9 - input.[0]) ** 2.0 + (2.5 - input.[1]) ** 2.0 + (4.5 - input.[2]) ** 2.0 + (1.7 - input.[3]) ** 2.0))
    let func24 =
        exp (-0.06389634699048878 * ((7.9 - input.[0]) ** 2.0 + (3.8 - input.[1]) ** 2.0 + (6.4 - input.[2]) ** 2.0 + (2.0 - input.[3]) ** 2.0))
    let func25 =
        exp (-0.06389634699048878 * ((5.6 - input.[0]) ** 2.0 + (2.8 - input.[1]) ** 2.0 + (4.9 - input.[2]) ** 2.0 + (2.0 - input.[3]) ** 2.0))
    let func26 =
        exp (-0.06389634699048878 * ((6.0 - input.[0]) ** 2.0 + (2.2 - input.[1]) ** 2.0 + (5.0 - input.[2]) ** 2.0 + (1.5 - input.[3]) ** 2.0))
    let func27 =
        exp (-0.06389634699048878 * ((6.3 - input.[0]) ** 2.0 + (2.8 - input.[1]) ** 2.0 + (5.1 - input.[2]) ** 2.0 + (1.5 - input.[3]) ** 2.0))
    [0.11172510039290856 + func0 * -0.8898986041811555 + func1 * -0.8898986041811555 + func2 * -0.0 + func3 * -0.0 + func4 * -0.0 + func5 * -0.756413813553974 + func6 * -0.0 + func7 * -0.8898986041811555 + func8 * -0.0 + func9 * -0.0 + func10 * -0.8898986041811555 + func11 * 0.04218875216876044 + func12 * 0.7142250613852136 + func13 * 0.0 + func14 * 0.8898986041811555 + func15 * 0.8898986041811555 + func16 * 0.0 + func17 * 0.8898986041811555 + func18 * 0.8898986041811555; -0.04261957451303831 + func19 * -0.37953658977037247 + func20 * -0.0 + func21 * -0.0 + func22 * -0.37953658977037247 + func23 * -0.37953658977037247 + func24 * -0.26472396872040066 + func25 * -0.3745962010653211 + func26 * -0.10077618026650095 + func27 * -0.0 + func11 * 0.0 + func12 * 0.0 + func13 * 0.37953658977037247 + func14 * 0.37953658977037247 + func15 * 0.3044555865539922 + func16 * 0.05610417372785803 + func17 * 0.37953658977037247 + func18 * 0.37953658977037247; 1.8136162062461285 + func19 * -110.34516826676301 + func20 * -13.999391039896215 + func21 * -108.44329471899991 + func22 * -110.34516826676301 + func23 * -22.21095753342801 + func24 * -0.0 + func25 * -0.0 + func26 * -65.00217641452454 + func27 * -110.34516826676301 + func0 * 0.0 + func1 * 0.0 + func2 * 110.34516826676301 + func3 * 62.115561183470184 + func4 * 37.19509025661546 + func5 * 0.0 + func6 * 110.34516826676301 + func7 * 0.0 + func8 * 110.34516826676301 + func9 * 110.34516826676301 + func10 * 0.0]
